package com.cmc.cloud.cmclink.doc.vo.guaranteelettervo;

import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.cmes.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * {table.classComment}分页 Request VO
 * 
 * @author codegen
 */
@Schema(description = "管理后台 - 长期保函分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class GuaranteeLetterPageReqVO extends PageParam {

    @Schema(description = "附件类型代码")
    private String attatchTypeCode;

    @Schema(description = "附件类型中文名称")
    private String attatchTypeCodeCn;

    @Schema(description = "附件类型英文名称")
    private String attatchTypeCodeEn;

    @Schema(description = "订舱人代码")
    private String bkpCode;

    @Schema(description = "提单发货人")
    private String shipperCode;

    @Schema(description = "真实发货人")
    private String actualShipperCode;

    @Schema(description = "收货人")
    private String consigneeCode;

    @Schema(description = "通知人")
    private String notifyPartyCode;

    @Schema(description = "接货地")
    private String porCodes;

    @Schema(description = "装货港")
    private String polCodes;

    @Schema(description = "卸货点")
    private String podCodes;

    @Schema(description = "目的地")
    private String delCodes;

    @Schema(description = "hs_code")
    private String hsCode;

    @Schema(description = "开始日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDateTime beginDate;

    @Schema(description = "结束日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDateTime endDate;

    @Schema(description = "文件id")
    private String fileId;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTime;

    @Schema(description = "订舱人code,提单发货人code等5类code")
    private String scnCode;

    @Schema(description = "开始日期范围查询开始")
    private String beginDateStart;

    @Schema(description = "开始日期范围查询结束")
    private String beginDateEnd;

    @Schema(description = "港口查询条件")
    private String portCode;
}
